package leetcode_1_20;

import java.util.HashMap;

public class twoNumberSum_1 {
    /**
     * 1，两数之和
     * @param nums
     * @param target
     * @return
     */
    public static int[] twoSum(int[] nums, int target) {
        int[] index=new int[2];
        HashMap<Integer,Integer> hashMap=new HashMap<>();
        for(int x=0;x<nums.length;x++) {
            //如果hashMap包含nums[x]这个key，则nums数组必然包括target-nums[x]该数据，
            // 而nums[x]本来也存在，且下标大于target-nums[x]
            if (hashMap.containsKey(nums[x])) {
                //get(nums[x])  因为x不相同，现在的nums[x]等于当时的target-nums[x]，即得到target-nums[x]的下标
                index[0] = hashMap.get(nums[x]);
                index[1] =x;
                return index;
            }
            hashMap.put(target-nums[x],x);
        }
        return index;
    }
}

